java logic